package jam4j.util;

/**
 * An encapsulation of a nullary method which may throw an exception (possibly
 * a checked one).
 *
 * @param <T> The return type of {@link #call()}.
 * @param <X> The exception type thrown by {@link #call()}.
 * 
 * @author Luke Maurer
 */
public interface FallibleThunk<T, X extends Throwable> {
    T call() throws X;
}